#ifndef CUSTOMPLOTZOOM_H
/***************************************************************************
创建者：田昱民
 开始时间：               : 2016.12.01
 copyright            : (C) 华友高科
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
*   电机状态窗口程序
*                                                                         *
 ***************************************************************************/
#define CUSTOMPLOTZOOM_H

#include <QPoint>
#include <QWidget>
#include <QRubberBand>
#include "qcustomplot.h"

class QRubberBand;
class QMouseEvent;
class QWidget;

class CustomPlotZoom : public QCustomPlot
{
    Q_OBJECT

public:
    CustomPlotZoom(QWidget * parent = 0);
    virtual ~CustomPlotZoom();

    /**
     * @brief setZoomMode　设置放大/缩小模式函数
     * @param mode
     */
    void setZoomMode(bool mode);

protected:
    /**
     * @brief mousePressEvent　鼠标按压事件函数
     * @param event
     */
    void mousePressEvent(QMouseEvent * event);
    /**
     * @brief mouseMoveEvent　鼠标移动事件函数
     * @param event
     */
    void mouseMoveEvent(QMouseEvent * event);
    /**
     * @brief mouseReleaseEvent　鼠标释放事件函数
     * @param event
     */
    void mouseReleaseEvent(QMouseEvent * event);

private:
    /**
     * @brief mZoomMode　放大/缩小模式
     */
    bool mZoomMode;
    /**
     * @brief mRubberBand　选框
     */
    QRubberBand * mRubberBand;
    /**
     * @brief mOrigin　点坐标
     */
    QPoint mOrigin;
};

#endif // CUSTOMPLOTZOOM_H
